#ifndef __CONJUGATE_GRADIENT_DESCENT__
#define __CONJUGATE_GRADIENT_DESCENT__

#include <mc_path_planner/path_smoother/smooth_base.h>

// 共轭梯度轨迹平滑
// https://www.jianshu.com/p/b6c1206e4035
// https://blog.csdn.net/qq_35635374/article/details/138291015

class ConjugateGradientDescent : public SmoothBase{
    public:
        ConjugateGradientDescent(boost::shared_ptr<MapBase> map_handler_ptr);
        ~ConjugateGradientDescent();

        // 路径平滑函数
        void smoothPath(vector<Point2f>& points_in, vector<Point2f>& points_out);         
};


#endif